package com.hbzhit.modules.sys.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.hbzhit.common.extension.IBaseService;
import com.hbzhit.modules.sys.entity.ProEntity;
import com.hbzhit.modules.sys.entity.ProReportEntity;
import com.hbzhit.modules.sys.vo.ProReportVO;

import java.util.List;
import java.util.Map;

/**
 * 项目填报表
 *
 * @author hbzhit
 * @date 2022-04-26 14:52:48
 */
public interface ProReportService extends IBaseService<ProReportEntity> {
    //定时推送填报
    void pushTheReport();

    //根据计划创建填报
    ProEntity createReportForPro(ProEntity genuinePlan, boolean updatePlan);


    /**
     * 查看填报审批列表
     *
     * @param reportGroupId 填报分组id
     * @param proId         项目id
     * @return
     */
    ProReportVO approvalList(String reportGroupId, String proId);

    /**
     * 提交审批
     *
     * @param reportId 填报id
     * @param status   0-保存填报，1-提交审批
     * @return
     */
    Boolean approvalProcess(Long reportId, Integer status, String scheduleTasks, String completeTasks);


    /**
     * 查询项目的所有填报时间列表
     *
     * @param proId 项目id
     * @return
     */
    List<ProReportEntity> queryMarkList(Long proId);

    /**
     * 查询待办，已办数据
     *
     * @param status 1-待办，2-已办
     * @return
     */
    IPage<Map<String,Object>> proReportPage(Page page, Integer status);

}

